package controladores;

import java.util.ArrayList;
import java.util.List;

import modelo.Asiento;
import modelo.Seccion;
import modeloDAO.AsientoDAO;
import modeloDAO.DaoSeccion;

import org.zkoss.zk.ui.Component;
import org.zkoss.zk.ui.Executions;
import org.zkoss.zk.ui.event.MouseEvent;
import org.zkoss.zk.ui.select.SelectorComposer;
import org.zkoss.zk.ui.select.annotation.Listen;
import org.zkoss.zk.ui.select.annotation.Wire;
import org.zkoss.zk.ui.util.Clients;
import org.zkoss.zul.Combobox;
import org.zkoss.zul.Intbox;
import org.zkoss.zul.Messagebox;
import org.zkoss.zul.Textbox;

public class ControladorRegistrarAsiento  extends SelectorComposer<Component> {
	
private static final long serialVersionUID = 1L;
private Asiento asiento = new Asiento();

private AsientoDAO daoa = new AsientoDAO();
private DaoSeccion daos = new DaoSeccion();

private List<Seccion> ListaSeccion;

@Wire
private Intbox codigo;
@Wire
private Textbox tipo;
@Wire
private Combobox cmbSeccion;

public ControladorRegistrarAsiento(){
	 super();
		// TODO Auto-generated constructor stub
 	 
		try {
			ListaSeccion = daos.obtenerTodos();
		} catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
		
}


public List<Seccion> getSecciones(){
		List<Seccion> secciones = new ArrayList<>();
		for(int i=0; i<ListaSeccion.size();i++)
		{
			secciones.add(ListaSeccion.get(i));
	
		}
		return secciones;
	}

public int buscarSeccion (String nombre)
{	
	  try {			  
		for (int i=0; i< daos.obtenerTodos().size(); i++){      
	        if (daos.obtenerTodos().get(i).getNombreSeccion().equals(nombre))
		  {	  
	        	  return i;
	      }
		}
			} catch (Exception e) {
				// TODO Auto-generated catch block
				e.printStackTrace();
			}
			  return -1; 
	}


@Listen("onClick=#btnRegistrar")
public void onClick$btnRegistrar(MouseEvent event){
if( codigo.getValue().equals("") || tipo.getValue().equals("") ||  cmbSeccion.getValue().equals("")){
	 System.out.println("1");
	 Messagebox.show("Debe completar todos los campos", "Information", Messagebox.OK, Messagebox.INFORMATION);
	//Clients.showNotification("Debe Completar todos los campos", "info", null, null, 1000);
}else{
	 System.out.println("2");
	  Seccion findseccion=new Seccion();
	  try {	
			 int posi= this.buscarSeccion(cmbSeccion.getValue());
			 findseccion=daos.obtenerTodos().get(posi);
	  } catch (Exception e) {
			// TODO Auto-generated catch block
		  e.printStackTrace();	
		}
	  
	  
	  asiento.setNroAsiento(codigo.getValue());
	  asiento.setTipoAsiento(tipo.getValue());
	  asiento.setSeccion(findseccion);
	  try {	 
		  daoa.agregarAsiento(asiento);
		  Messagebox.show("Se ha registrado el asiento exitosamente", "Information", Messagebox.OK, Messagebox.INFORMATION);
		    
	  } catch (Exception e) {
			// TODO Auto-generated catch block
			e.printStackTrace();	
		}


}
	
	
	
}


@Listen("onClick=#btnCancelar")
public void onClick$btnCancelar(MouseEvent event){
Executions.sendRedirect("index.zul");
}
}

